#include "../include/double_Sql_list.h"
#include "../include/file.h"
#include "../include/log_in.h"




Log_in_data data[3] = 
{
 { .name = "刘备" , .password = "123" ,  .id = 0  },
 { .name = "关羽" , .password = "123" ,  .id = 0  },
 { .name = "张飞" , .password = "123" ,  .id = 0  }
};



//list1 为普通 list2为管理员
void test_2(void)
{
     Double_Link_List * list1 = init_double_link_list();
     Double_Link_List * list2 = init_double_link_list();
    
    insert_double_node( list2 , data[0],1);
    insert_double_node( list2 , data[1],2);
    insert_double_node( list2 , data[2],3);

    // 修改
    root_amend( list2 , "刘备" );
    
     Double_Node * ptr=find_double_node_name(list2,"刘备");
     Log_in_data data1;
     data1.id=ptr->data.id;
     strcpy(data1.name,ptr->data.name);
     strcpy(data1.password,ptr->data.password);

    //printf(" %s %s %d \n",data1.name,data1.password,data1.id);
    
    
    insert_double_node(list1,data1,1);
    delete_double_node(list2,1);
    F_print(list1,"1_root_data.txt");
    F_print(list2,"2_dom_data.txt");
/*
1、找到 刘备
2、修改权限
3、将刘备的信息 插入到 管理员 链表中
4、将刘备的信息 从 普通用户中 删除
5、将普通用户 链表 和 管理员 链表 覆盖写入文件
*/   
    // 遍历 
     print_forward_double_link_list(list1);
    printf(" \n ");
    print_forward_double_link_list(list2);
    free_double_link_list(&list1);
    free_double_link_list(&list2);
}



int main(int argc, char const *argv[])
{


     Double_Link_List * dom_list = init_double_link_list();  // 普通用户 
     Double_Link_List * root_list = init_double_link_list(); // 管理员用户
    // // 数据的载入
    // /F_scanf( dom_list , "2_dom_data.txt" );
    // F_scanf( root_list , "1_root_data.txt" );
   
    // int num = 0;
    // printf("1:进入登陆\t 2:进入注册\n");
    // scanf("%d" , &num);

    // switch (num)
    // {
    // case 1:
    //     log_in( dom_list , root_list );
        test_2();
    //     break;
    // case 2:
    //     reg( dom_list );
    //     break;
    // default:
    //     break;
    // }
    
    

    // // 释放链表
     free_double_link_list(&dom_list);
     free_double_link_list(&root_list);
    return 0;
}




void test_1(void)
{
    // 对链表进行初始化
    

    
}